---
title: Husky
description: Husky ile sahaya alınan Git dosyalarınızda Ultracite'i otomatik olarak çalıştırın
---

Ultracite, Git kancalarını yönetmek için popüler bir araç olan [Husky](https://typicode.github.io/husky/) ile sorunsuz bir entegrasyon sağlar. Bu entegrasyon, her commit öncesinde kodunuzun doğru biçimlendirildiğinden emin olmak için otomatik olarak pre-commit kancalarını ayarlar.

## Husky nedir?

Husky, projenizde Git kancalarını kullanmayı kolaylaştıran bir araçtır. Git kancaları, commit veya push gibi Git iş akışının belirli noktalarında otomatik olarak çalışan betiklerdir. Husky, bu kancaların kurulumu ve yönetilmesini basitleştirir.

## Ultracite Husky'yi Nasıl Kullanır

Ultracite'i projenizde başlattığınızda, her commit öncesinde kod biçimlendirmesini çalıştırmak için Husky'yi otomatik olarak yapılandırabilir. Bu, şunları sağlar:

- Tüm commit edilen kodun tutarlı biçimlendirme standartlarına uyması
- Kod kalite kontrollerinin otomatik olarak uygulanması
- Ekip üyelerinin kodu elle biçimlendirmeyi hatırlamalarına gerek kalmaması
- Depo genelinde temiz, tutarlı bir kod stilinin korunması

## Pre-commit Hook Davranışı

Ultracite'in Husky entegrasyonu, aşağıdaki komutu çalıştıran bir pre-commit kancası oluşturur:

```bash
npx ultracite fix
```

Bu komut:
- Biome'un linter'ını ve formatter'ını kod tabanınızda çalıştırır
- Mümkün olan yerlerde biçimlendirme sorunlarını otomatik olarak düzeltir
- Tüm sahaya alınmış dosyaların projenizin kod standartlarını karşıladığından emin olur
- Biçimlendirme tutarsızlıkları getirecek commit'leri engeller

## Otomatik Kurulum

Başlatma sürecinde (`ultracite init`), Husky seçeneğini seçerseniz, Ultracite:

1. **Husky'yi Yükler**: Husky'yi projenize geliştirme bağımlılığı olarak ekler
2. **Kanca Dosyası Oluşturur**: Biçimlendirme komutuyla `.husky/pre-commit` dosyasını kurar
3. **Mevcut Kurulumları Ele Alır**: Zaten Husky yapılandırılmışsa, mevcut pre-commit kancanızı üzerine yazmak yerine günceller

## Entegrasyon Detayları

Husky entegrasyonu birkaç akıllı özellik içerir:

### Bağımlılık Yönetimi
- Projenizin paket yöneticisini kullanarak Husky'yi otomatik olarak bir dev bağımlılığı olarak yükler
- Uygun paket yöneticisi komutunu kullanır (`npm install -D`, `yarn add -D`, `pnpm add -D`, vb.)

### Kanca Yönetimi
- **Yeni Projeler**: ultracite fix komutunu içeren yeni bir `.husky/pre-commit` dosyası oluşturur
- **Mevcut Projeler**: Mevcut pre-commit kancanıza Ultracite komutunu ekler, yapılandırmış olabileceğiniz diğer kancaları korur

### Dosya Yapısı
Entegrasyon oluşturur veya değiştirir:
```
.husky/
└── pre-commit    # Biçimlendirme komutunu içerir
```

## Faydalar

### Tutarlı Kod Stili
Her commit otomatik olarak projenizin biçimlendirme standartlarına uyar, stil tartışmalarını ve tutarsızlıkları ortadan kaldırır.

### Otomatikleştirilmiş Kalite Kontrolü
Biçimlendirme sorunlarını depoya girmeden yakalayarak temiz bir commit geçmişi korur.

### Ekip İşbirliği
Tüm ekip üyeleri manuel müdahale olmadan aynı biçimlendirme standartlarını otomatik olarak takip eder.

### CI/CD Optimizasyonu
Kod yerel olarak önceden biçimlendirildiği için biçimlendirme kaynaklı CI/CD boru hattı hatalarını azaltır.

## İş Akışı Entegrasyonu

Husky entegrasyonu etkinleştirildiğinde tipik Git iş akışınız şu hale gelir:

1. Kod dosyalarınızda **değişiklik yapın**
2. `git add` ile **değişiklikleri sahneleyin**
3. `git commit` ile **değişiklikleri commit edin**
4. **Pre-commit kancası otomatik olarak çalışır**, sahaya alınmış dosyaları biçimlendirir
5. Biçimlendirilmiş kodla **commit devam eder**

Eğer formatter değişiklik yaparsa, bu değişiklikleri de sahneleyip commit etmeniz gerekir.

## Özelleştirme

Ultracite mantıklı varsayılanlar ayarlasa da davranışı özelleştirebilirsiniz:

- Ek komutlar eklemek için `.husky/pre-commit` dosyasını değiştirin
- Biçimlendirme kurallarını ayarlamak için Biome ayarlarını yapılandırın
- Ultracite'in biçimlendirmesine ek olarak diğer pre-commit kontrollerini ekleyin

## Sorun Giderme

### Hook Çalışmıyor
Pre-commit kancası çalışmıyorsa:
- Husky'nin yüklü olduğundan emin olun: `npm ls husky`
- `.husky/pre-commit` dosyasının var olup çalıştırılabilir olduğunu kontrol edin
- Depo içinde Git kancalarının etkinleştirildiğini doğrulayın

### İzin Sorunları
Unix benzeri sistemlerde, kanca dosyasının çalıştırılabilir olduğundan emin olun:
```bash
chmod +x .husky/pre-commit
```

### Hook'ları Atlama
Pre-commit kancasını atlamanız gereken nadir durumlarda:
```bash
git commit --no-verify
```

Bunu nadiren kullanın; çünkü kod tabanınızı tutarlı tutan otomatik biçimlendirmeyi atlar.